A data-communications system, such as a computer disk drive or a cell phone, includes a read channel, which recovers data from a received read signal (sometimes called a data signal) by interpreting a stream of bits. Such systems may read and write data to and from storage mediums and/or communication channels at ever-increasing rates. With the increase in data throughput, software and hardware may need to be more and more resilient to noise-induced errors. Thus, many communication and computer systems employ error-checking data processing that may be both hardware and software based in order to recover data if noise-induced errors arise.